﻿Imports Proyecto_PAVI_Academia.AccesoBD

Public Class frm_ABM_Tarjetas
    ' clase que nos da todo el acceso a la BD
    Dim acceso As New AccesoBD
    ' variable que me guarda la tarjeta seleccionada
    Dim idTarjeta As Integer
    Enum estado
        insertar
        modificar
        borrar
    End Enum
    Dim accion As estado
    Private Sub cmd_salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_salir.Click
        Me.Close()

    End Sub
    'A L I M A Ñ A ! ! : PERMITE GUARDAR UN ESPACIO
    Private Sub cmd_aceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_aceptar.Click
        Dim consulta As String

        If Me.accion = estado.insertar Then
            'no hace falta cargar el id de la tarjeta, se genera solo
            consulta = "INSERT INTO Tarjetas values('" & Me.txt_nombre.Text & "')"

            acceso._insertar(consulta)

            cargo_tabla()
        End If

        If Me.accion = estado.modificar Then
            'RECORDAR QUE EVENTUALMENTE ESTO VA A MODIFICAR LAS TARJETAS CON LAS CUALES SE PAGÓ UN RECIBO
            'ENTONCES INFORMAR QUE (X) RECIBO SE MODIFICO O ALGO
            consulta = "update Tarjetas set nombre='" & Me.txt_nombre.Text & "' where idTarjeta=" & idTarjeta
            acceso._modificar(consulta)
            cargo_tabla()
        End If
        If Me.accion = estado.borrar Then
            'RECORDAR AGREGAR SI HAY RECIBOS PAGADOS CON LA TARJETA A ELIMINAR!!!!!!
            consulta = "delete Tarjetas where idTarjeta=" & Me.idTarjeta
            acceso._eliminar(consulta)
            txt_nombre.Text = ""
            cargo_tabla()
        End If
        txt_nombre.Text = ""
        grupo_boton.Enabled = False
    End Sub

    Private Sub cmd_nuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_nuevo.Click
        txt_nombre.Text = ""
        txt_nombre.Focus()
        grupo_boton.Enabled = True
        Me.accion = estado.insertar
    End Sub

    Private Sub frm_ABM_Tarjetas_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        grupo_boton.Enabled = False
        cargo_tabla()
    End Sub
    Private Sub cargo_tabla()
        dgv_tarjetas.Rows.Clear()
        Dim tabla As DataTable = acceso.devuelveTabla("Tarjetas")
        Dim c As Integer
        For c = 0 To tabla.Rows.Count - 1
            Me.dgv_tarjetas.Rows.Add(tabla.Rows(c)("idTarjeta"), tabla.Rows(c)("nombre"))
        Next
    End Sub
    Private Sub txt_nombre_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_nombre.Validated
        If txt_nombre.Text = "" Then
            MsgBox("Ingrese nombre de la tarjeta!")
            txt_nombre.Focus()
        End If
    End Sub

    Private Sub dgv_tarjetas_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgv_tarjetas.SelectionChanged
        If dgv_tarjetas.SelectedRows.Count > 0 Then
            idTarjeta = dgv_tarjetas.Item("id", dgv_tarjetas.SelectedRows(0).Index).Value
        End If
    End Sub
    Private Sub ModificarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificarToolStripMenuItem.Click
        accion = estado.modificar
        cargarTxt()
    End Sub

    Private Sub EliminarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarToolStripMenuItem.Click
        If MessageBox.Show("Esta seguro que desea eliminar el registro?!", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            accion = estado.borrar
            cargarTxt()
        End If
    End Sub
    Private Sub cargarTxt()
        Dim tabla As DataTable = acceso.devuelveTabla("Tarjetas where idTarjeta=" & idTarjeta)
        Dim fila As DataRow = tabla.Rows(0)
        txt_nombre.Text = fila("nombre")
        grupo_boton.Enabled = True
        txt_nombre.Focus()
    End Sub

    Private Sub cmd_cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_cancelar.Click
        txt_nombre.Text = ""
        grupo_boton.Enabled = False
    End Sub
End Class